Replace boilerplate in GtkIcon
authorEmmanuele Bassi <ebassi@gnome.org>
Thu, 1 Feb 2018 14:29:01 +0000 (15:29 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Thu, 1 Feb 2018 14:30:39 +0000 (15:30 +0100)
Be a good GObject citizen and use G_DECLARE_FINAL_TYPE instead of
writing the usual GObject boilerplate.

gtk/gtkicon.c
gtk/gtkiconprivate.h

index 3c2822864dc26703dac728869f45b318827b2c3a..261123006092867ee6e46c27d18382f3843f9323 100644 (file)
  * but a widget is needed for other reasons.
  */
 
+struct _GtkIcon
+{
+  GtkWidget parent;
+
+  GtkCssImageBuiltinType image;
+};
+
 G_DEFINE_TYPE (GtkIcon, gtk_icon, GTK_TYPE_WIDGET)
 
 static void
index b979e50920e8ab2de804e37b2c72042e39cc65d6..32ec86448ad439a3f5ef442b1f1c6c6bf1ffe7f8 100644 (file)
 
 G_BEGIN_DECLS
 
-#define GTK_TYPE_ICON           (gtk_icon_get_type ())
-#define GTK_ICON(obj)           (G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_ICON, GtkIcon))
-#define GTK_ICON_CLASS(cls)     (G_TYPE_CHECK_CLASS_CAST (cls, GTK_TYPE_ICON, GtkIconClass))
-#define GTK_IS_ICON(obj)        (G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_ICON))
-#define GTK_IS_ICON_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_ICON))
-#define GTK_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ICON, GtkIconClass))
-
-typedef struct _GtkIcon           GtkIcon;
-typedef struct _GtkIconClass      GtkIconClass;
-
-struct _GtkIcon
-{
-  GtkWidget parent;
-  GtkCssImageBuiltinType image;
-};
-
-struct _GtkIconClass
-{
-  GtkWidgetClass  parent_class;
-};
-
-GType        gtk_icon_get_type               (void) G_GNUC_CONST;
+#define GTK_TYPE_ICON (gtk_icon_get_type ())
+
+G_DECLARE_FINAL_TYPE (GtkIcon, gtk_icon, GTK, ICON, GtkWidget)
 
 GtkWidget *  gtk_icon_new                    (const char *css_name);